The use of wide area wireless network connections for data transfer between users and particularly for connection to the Internet is increasing and can be expected to continue to increase, due to the great flexibility provided to users by such access. One particularly important and widely implemented standard for wide area wireless network connections is 3G1X, offering speeds up to 144 kbps. Data only enhancements to this standard have been codified in the 3G1X-EVDO standard, which offers speeds of up to 2 Mbps. In order to achieve continued growth and acceptance, networks constructed according to these standards, and wireless networks using technology developed in the future, must offer good performance for transmission control protocol (TCP) transmission of data, which is a very widely used standard for packet switched transmission of data and is the standard predominantly used for transmission of data over the Internet. In order to satisfy users, communication must occur over a transmission channel at a rate approximating the stated rate for the transmission channel, with a high degree of accuracy. In order to achieve this goal, special attention must be paid to overcoming the special problems attendant upon wireless transmission of data.
Wireless connections are much more subject to losses than are wired connections. Losses require retransmission with an accompanying delay in transmission, and are therefore interpreted as congestion by TCP devices. The sensing of congestion leads to suppression of transmission by data sources, decreasing net throughput of data. In order to mitigate the effects of losses, 3G wireless systems often implement extensive local retransmission mechanisms. For example, the physical layer of a 3G wireless link has a forward error correction (FEC) mechanism and a link layer retransmission protocol. These mechanisms insure packet loss probability of less than one percent on the wireless link, thereby mitigating the adverse impact of loss on TCP throughput. However, while these mechanisms mitigate losses, they also increase delay variability.
In addition, in order to increase throughput, intelligent channel state based scheduling techniques are also widely employed. These techniques take the quality of the wireless channel experienced by a user into account when determining whether to transmit to the user. For example, a user experiencing a better channel quality may be given priority. Typically, algorithms are used to help increase throughput while avoiding data starvation for users experiencing a lower channel quality. The use of such scheduling techniques increases overall throughput, but also increases rate variability.
The impact of losses on TCP throughput have thus been significantly reduced by local link layer mechanisms and higher raw throughput achieved by channel state based scheduling mechanisms, but these improvements have come at the cost of increased delay and rate variability. TCP data transmission is asynchronous, with a data source transmitting a packet of data upon receipt of an acknowledgement signal, or ACK, at the data source. The ACK indicates that the data recipient has received a data packet and that the recipient is ready for the next packet. The data recipient stores data packets in a buffer until ready to process them. However, if too many data packets arrive at a data recipient at one time, the buffer overflows and data is lost, requiring retransmission. The varying delay values and transmission rates exhibited by wireless channels tend to cause unevenly timed flows of data, with unevenly timed flows of ACKs being transmitted to the data source. Rate and delay variability tend to cause ACKs to arrive at the data source in bursts. The arrival of ACKs in bursts is commonly referred to as ACK compression. ACK compression results in data compression, that is, the transmission of data in bursts by the TCP source. Such bursts of data transmissions can overload the data buffers at any of the intermediate routers. Most frequently, if overloading at a data buffer occurs at an intermediate router, the router affected is the bottleneck router. Overloading of a data buffer causes detection of a data loss by the data recipients, requests for retransmission, and congestion.
There exists, therefore, a need for managing the flow of ACKs from data recipients to a data source that will reduce or eliminate ACK compression and in turn prevent excessive bursts of data from the data source, in order to reduce or eliminate data loss and throughput degradation resulting from buffer overflow and data loss caused by the arrival of excessive numbers of data packets and the buffer.